home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / ImageMagick / magick / X.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  7.3 KB  |  381 lines

  1. #undef False
  2. #undef True
  3. #define XLIB_ILLEGAL_ACCESS  1
  4. #include <X11/Xos.h>
  5. #include <X11/Xlib.h>
  6. #include <X11/Xutil.h>
  7. #include <X11/Xresource.h>
  8. #include <X11/Xproto.h>
  9. #include <X11/Xatom.h>
  10. #include <X11/cursorfont.h>
  11. #include <X11/keysym.h>
  12. #undef index
  13. #ifdef hpux
  14. #undef SYSV
  15. #endif
  16.  
  17. /*
  18.   Default colors declarations.
  19. */
  20. #define BackgroundColor  "#ccc"  /* gray */
  21. #define BorderColor  "#000"  /* black */
  22. #define ForegroundColor  "#000"  /* black */
  23. #define Pen0Color  "#000"  /* black */
  24. #define Pen1Color  "#000"  /* black */
  25. #define Pen2Color  "#00f"  /* blue */
  26. #define Pen3Color  "#0ff"  /* cyan */
  27. #define Pen4Color  "#0f0"  /* green */
  28. #define Pen5Color  "#ccc"  /* gray */
  29. #define Pen6Color  "#f00"  /* red */
  30. #define Pen7Color  "#f0f"  /* magenta */
  31. #define Pen8Color  "#ff0"  /* yellow */
  32. #define Pen9Color  "#ccc"  /* gray */
  33. /*
  34.   Colormap declarations.
  35. */
  36. #define UndefinedColormap  0
  37. #define PrivateColormap  1
  38. #define SharedColormap  2
  39. /*
  40.   Define declarations.
  41. */
  42. #define EditorCommand  "xterm -title 'Image Comment Editor' -e vi %s"
  43. #define MaxNumberFonts  10
  44. #define MaxNumberPens  10
  45. #define PrintCommand  "lpr"
  46. #define RGBColorDatabase  "/usr/lib/X11/rgb.txt"
  47. #define SuspendTime  40
  48. #define XStandardPixel(map,color,dx)  (unsigned long) (map->base_pixel+  \
  49.   ((color.red*map->red_max+(1 << (dx-1)))/((1 << dx)-1))*map->red_mult+  \
  50.   ((color.green*map->green_max+(1 << (dx-1)))/((1 << dx)-1))*map->green_mult+  \
  51.   ((color.blue*map->blue_max+(1 << (dx-1)))/((1 << dx)-1))*map->blue_mult)
  52.  
  53. /*
  54.   Typedef declarations.
  55. */
  56. typedef struct _DiversityPacket
  57. {
  58.   unsigned char
  59.     red,
  60.     green,
  61.     blue;
  62.  
  63.   unsigned short
  64.     index;
  65.  
  66.   unsigned long
  67.     count;
  68. } DiversityPacket;
  69.  
  70. typedef struct _XAnnotateInfo
  71. {
  72.   int
  73.     x,
  74.     y;
  75.  
  76.   unsigned int
  77.     width,
  78.     height;
  79.  
  80.   double
  81.     degrees;
  82.  
  83.   XFontStruct
  84.     *font_info;
  85.  
  86.   char
  87.     *text,
  88.     geometry[MaxTextLength];
  89.  
  90.   struct _XAnnotateInfo
  91.     *previous,
  92.     *next;
  93. } XAnnotateInfo;
  94.  
  95. typedef struct _XPixelInfo
  96. {
  97.   unsigned int
  98.     colors;
  99.  
  100.   unsigned long
  101.     *pixels;
  102.  
  103.   XColor
  104.     foreground_color,
  105.     background_color,
  106.     border_color,
  107.     matte_color,
  108.     highlight_color,
  109.     shadow_color,
  110.     depth_color,
  111.     trough_color,
  112.     pen_color[MaxNumberPens],
  113.     annotate_color;
  114.  
  115.   unsigned short
  116.     background_index,
  117.     annotate_index;
  118.  
  119.   GC
  120.    annotate_context,
  121.    highlight_context,
  122.    widget_context;
  123. } XPixelInfo;
  124.  
  125. typedef struct _XResourceInfo
  126. {
  127.   XrmDatabase
  128.     resource_database;
  129.  
  130.   ImageInfo
  131.     *image_info;
  132.  
  133.   unsigned int
  134.     backdrop;
  135.  
  136.   char
  137.     *background_color,
  138.     *border_color;
  139.  
  140.   unsigned int
  141.     border_width,
  142.     colormap,
  143.     colorspace,
  144.     debug,
  145.     delay,
  146.     dither;
  147.  
  148.   char
  149.     *editor_command,
  150.     *font,
  151.     *font_name[MaxNumberFonts],
  152.     *foreground_color;
  153.  
  154.   int
  155.     gravity;
  156.  
  157.   char
  158.     *icon_geometry;
  159.  
  160.   unsigned int
  161.     iconic;
  162.  
  163.   char
  164.     *image_geometry;
  165.  
  166.   unsigned int
  167.     magnify;
  168.  
  169.   char
  170.     *map_type,
  171.     *matte_color;
  172.  
  173.   unsigned int
  174.     monochrome;
  175.  
  176.   char
  177.     *name;
  178.  
  179.   unsigned int
  180.     number_colors;
  181.  
  182.   char
  183.     *pen_color[MaxNumberPens],
  184.     *print_command,
  185.     *server_name,
  186.     *title;
  187.  
  188.   unsigned int
  189.     tree_depth,
  190.     update,
  191.     use_pixmap;
  192.  
  193.   char
  194.     *visual_type,
  195.     *window_id,
  196.     *write_filename;
  197. } XResourceInfo;
  198.  
  199. typedef struct _XWindowInfo
  200. {
  201.   Window
  202.     id;
  203.  
  204.   int
  205.     screen;
  206.  
  207.   Visual
  208.     *visual;
  209.  
  210.   int
  211.     class,
  212.     depth;
  213.  
  214.   XVisualInfo
  215.     *visual_info;
  216.  
  217.   XStandardColormap
  218.     *map_info;
  219.  
  220.   XPixelInfo
  221.     *pixel_info;
  222.  
  223.   XFontStruct
  224.     *font_info;
  225.  
  226.   GC
  227.     annotate_context,
  228.     highlight_context,
  229.     widget_context;
  230.  
  231.   Cursor
  232.     cursor,
  233.     busy_cursor;
  234.  
  235.   char
  236.     *name,
  237.     *geometry,
  238.     *icon_name,
  239.     *icon_geometry,
  240.     *clip_geometry;
  241.  
  242.   unsigned long
  243.     flags;
  244.  
  245.   int
  246.     x,
  247.     y;
  248.  
  249.   unsigned int
  250.     width,
  251.     height,
  252.     min_width,
  253.     min_height,
  254.     width_inc,
  255.     height_inc,
  256.     border_width,
  257.     immutable;
  258.  
  259.   XImage
  260.     *ximage;
  261.  
  262.   Pixmap
  263.     highlight_stipple,
  264.     shadow_stipple,
  265.     pixmap,
  266.     *pixmaps;
  267.  
  268.   int
  269.     mask;
  270.  
  271.   XSetWindowAttributes
  272.     attributes;
  273.  
  274.   XWindowChanges
  275.     window_changes;
  276.  
  277.   unsigned int
  278.     mapped,
  279.     stasis;
  280. } XWindowInfo;
  281.  
  282. typedef struct _XWindows
  283. {
  284.   XWindowInfo
  285.     context,
  286.     backdrop,
  287.     icon,
  288.     info,
  289.     image,
  290.     magnify,
  291.     pan,
  292.     popup;
  293. } XWindows;
  294.  
  295. /*
  296.   X utilities routines.
  297. */
  298. extern char
  299.   *XGetResourceClass _Declare((XrmDatabase,char *,char *,char *)),
  300.   **XListColors _Declare((char *,int *)),
  301.   *XVisualClassName _Declare((int));
  302.  
  303. extern Cursor
  304.   XMakeCursor _Declare((Display *,Window,Colormap,char *,char *));
  305.  
  306. extern Image
  307.   *XGetWindowImage _Declare((Display *,Window,unsigned int,unsigned int)),
  308.   *ReadXImage _Declare((ImageInfo *,unsigned int,unsigned int,unsigned int,
  309.     unsigned int));
  310.        
  311. extern int
  312.   Latin1Compare _Declare((char *,char *)),
  313.   XError _Declare((Display *,XErrorEvent *));
  314.  
  315. extern unsigned int
  316.   IsTrue _Declare((char *)),
  317.   XAnnotateImage _Declare((Display *,XPixelInfo *,XAnnotateInfo *,unsigned int,
  318.     Image *)),
  319.   XGetWindowColor _Declare((Display *,XColor *)),
  320.   XMakeImage _Declare((Display *,XResourceInfo *,XWindowInfo *,Image *,
  321.     unsigned int,unsigned int)),
  322.   XMakePixmap _Declare((Display *,XResourceInfo *,XWindowInfo *));
  323.  
  324. extern void
  325.   XBestIconSize _Declare((Display *,XWindowInfo *,Image *)),
  326.   XBestPixel _Declare((Display *,Colormap,XColor *,unsigned int,XColor *)),
  327.   XDelay _Declare((Display *,unsigned long)),
  328.   XDisplayInfoString _Declare((Display *,XWindowInfo *,char *)),
  329.   XFreeResources _Declare((Display *,XVisualInfo *,XStandardColormap *,
  330.     XPixelInfo *,XFontStruct *,XResourceInfo *,XWindowInfo *)),
  331.   XFreeStandardColormap _Declare((Display *,XVisualInfo *,XStandardColormap *,
  332.     XPixelInfo *)),
  333.   XGetAnnotateInfo _Declare((XAnnotateInfo *)),
  334.   XGetMapInfo _Declare((XVisualInfo *,Colormap,XStandardColormap *)),
  335.   XGetPixelInfo _Declare((Display *,XVisualInfo *,XStandardColormap *,
  336.     XResourceInfo *,Image *,XPixelInfo *)),
  337.   XGetResourceInfo _Declare((XrmDatabase,char *,XResourceInfo *)),
  338.   XGetWindowInfo _Declare((Display *,XVisualInfo *,XStandardColormap *,
  339.     XPixelInfo *,XFontStruct *,XResourceInfo *,XWindowInfo *)),
  340.   XHighlightLine _Declare((Display *,Window,GC,XSegment *)),
  341.   XHighlightRegion _Declare((Display *,Window,GC,RectangleInfo *)),
  342.   XMakeMagnifyImage _Declare((Display *,XResourceInfo *,XWindows *)),
  343.   XMakeStandardColormap _Declare((Display *,XVisualInfo *,XResourceInfo *,
  344.     Image *,XStandardColormap *,XPixelInfo *)),
  345.   XMakeWindow _Declare((Display *,Window,char **,int,XClassHint *,XWMHints *,
  346.     Atom,XWindowInfo *)),
  347.   XSetWindowExtents _Declare((Display *,XWindowInfo *,char *)),
  348.   XRefreshWindow _Declare((Display *,XWindowInfo *,XEvent *));
  349.  
  350. extern Window
  351.   XClientWindow _Declare((Display *,Window)),
  352.   XSelectWindow _Declare((Display *,RectangleInfo *)),
  353.   XWindowByID _Declare((Display *,Window,unsigned long)),
  354.   XWindowByName _Declare((Display *,Window,char *));
  355.  
  356. extern XFontStruct
  357.   *XBestFont _Declare((Display *,XResourceInfo *));
  358.  
  359. extern XVisualInfo
  360.   *XBestVisualInfo _Declare((Display *,XStandardColormap *,XResourceInfo *));
  361.  
  362. /*
  363.   Variable declarations
  364. */
  365. extern char
  366.   *client_name;
  367.  
  368. /*
  369.   Invoke pre-X11R5 ICCCM routines if XlibSpecificationRelease is not defined.
  370. */
  371. #ifndef XlibSpecificationRelease
  372. #define PRE_R5_ICCCM
  373. #endif
  374. /*
  375.   Invoke pre-X11R4 ICCCM routines if PWinGravity is not defined.
  376. */
  377. #ifndef PWinGravity
  378. #define PRE_R4_ICCCM
  379. #endif
  380. #include "PreRvIcccm.h"
  381.